package com.rabbithelper.handle;

import com.rabbithelper.entity.*;

import java.util.List;

public interface SycnHandler {

    /**
     * 新增用户
     *
     * @param saveUserList
     */
    void SycnSaveUser(List<SysUser> saveUserList);

    /**
     * 修改用户
     *
     * @param updateUserList
     */
    void SycnUpdateUser(List<SysUser> updateUserList);

    /**
     * 删除用户
     *
     * @param userIds
     */
    void SycnDeleteUser(List<String> userIds);

    /**
     * 新增岗位
     *
     * @param savePostList
     */
    void SycnSavePost(List<SysPost> savePostList);

    /**
     * 修改岗位
     *
     * @param updatePostList
     */
    void SycnUpdatePost(List<SysPost> updatePostList);

    /**
     * 删除岗位
     *
     * @param postIds
     */
    void SycnDeletePost(List<String> postIds);

    /**
     * 新增部门
     *
     * @param saveDeptList
     */
    void SycnSaveDept(List<SysDept> saveDeptList);

    /**
     * 修改部门
     *
     * @param updateDeptList
     */
    void SycnUpdateDept(List<SysDept> updateDeptList);

    /**
     * 删除部门
     *
     * @param deptIds
     */
    void SycnDeleteDept(List<String> deptIds);

    /**
     * 新增菜单
     *
     * @param saveMenuList
     */
    void SycnSaveMenu(List<SysMenu> saveMenuList);

    /**
     * 修改菜单
     *
     * @param updateMenuList
     */
    void SycnUpdateMenu(List<SysMenu> updateMenuList);

    /**
     * 删除菜单
     *
     * @param menuIds
     */
    void SycnDeleteMenu(List<String> menuIds);

    /**
     * 新增角色
     *
     * @param saveRoleList
     */
    void SycnSaveRole(List<SysRole> saveRoleList);

    /**
     * 修改角色
     *
     * @param updateRoleList
     */
    void SycnUpdateRole(List<SysRole> updateRoleList);

    /**
     * 删除角色
     *
     * @param roleIds
     */
    void SycnDeleteRole(List<String> roleIds);

    /**
     * 删除用户角色关系
     * @param deleteUserRoleList
     */

    void syncDeleteUserRole(List<SysUserRole> deleteUserRoleList);

    /**
     * 新增用户角色关系
     * @param saveUserRoleList
     */
    void syncSaveUserRole(List<SysUserRole> saveUserRoleList);

    /**
     * 修改用户角色关系
     * @param updateUserRoleList
     */
    void syncUpdateUserRole(List<SysUserRole> updateUserRoleList);

    /**
     * 删除用户部门关系
     * @param deleteUserDeptList
     */
    void syncDeleteUserDept(List<SysUserDept> deleteUserDeptList);

    /**
     * 新增用户部门关系
     * @param saveUserDeptList
     */
    void syncSaveUserDept(List<SysUserDept> saveUserDeptList);

    /**
     * 修改用户部门关系
     * @param updateUserDeptList
     */
    void syncUpdateUserDept(List<SysUserDept> updateUserDeptList);

    /**
     * 删除用户岗位关系
     * @param deleteUserPostList
     */
    void syncDeleteUserPost(List<SysUserPost> deleteUserPostList);

    /**
     * 新增用户岗位关系
     * @param saveUserPostList
     */
    void syncSaveUserPost(List<SysUserPost> saveUserPostList);

    /**
     * 修改用户岗位关系
     * @param updateUserPostList
     */
    void syncUpdateUserPost(List<SysUserPost> updateUserPostList);


    /**
     *  删除角色菜单关系
     * @param deleteRoleMenuList
     */
    void syncDeleteRoleMenu(List<SysRoleMenu> deleteRoleMenuList);

    /**
     * 新增角色菜单关系
     * @param saveRoleMenuList
     */
    void syncSaveRoleMenu(List<SysRoleMenu> saveRoleMenuList);

    /**
     * 修改角色菜单关系
     * @param updateRoleMenuList
     */
    void syncUpdateRoleMenu(List<SysRoleMenu> updateRoleMenuList);

}
